package com.wzw.expression.record.proxy;

import com.wzw.expression.expression.source.OperationSource;
import org.springframework.aop.ClassFilter;
import org.springframework.aop.Pointcut;
import org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor;
import org.springframework.lang.NonNull;

/**
 * Aspect
 * Pointcut
 *
 * @author Wangzhiwen
 */
public class BeanFactoryIRecordAdvisor extends AbstractBeanFactoryPointcutAdvisor {

    private final IRecordMethodPointcut pointcut = new IRecordMethodPointcut();

    public void setExpressionOperationSource(OperationSource operationSource) {
        this.pointcut.setRecordOperationSource(operationSource);
    }

    @Override
    @NonNull
    public Pointcut getPointcut() {
        return pointcut;
    }

    public void setClassFilter(ClassFilter classFilter) {
        pointcut.setClassFilter(classFilter);
    }
}
